class AlisoftIm
  attr_reader :user_id,:app_id,:app_instance_id,:token,:sip_sessionid,:sip_timestamp,:domain_id,:login_id,:user_id,:uid,:site,:message

  def initialize(request)
    @user_id = request[:user_id]
    @app_id  = request[:app_id]
    @app_instance_id=request[:app_instance_id]
    @token = request[:token]
    @sip_sessionid = '7d052759158b46e6b920397ab47441d5'
    @sip_timestamp=Time.now.strftime("%Y-%m-%d %H:%M:%S")
    #
    @uid=request[:uid]
    @site=request[:site]
    @user_id=request[:user_id]
    @message=request[:message]
  end
  #获取多个用户ID阿里旺旺在线状态
  def mullidstatus
    params = get_mullidstatus_params
    return AliUtil::get_result params
  end
  def get_mullidstatus_params
    ret_val = Hash.new
    ##系统级别参数
    ret_val['sip_appkey']=AliUtil::get_app_id
    ret_val['sip_apiname']="alisoft.im. mullidstatus"
    ret_val['sip_timestamp']=@sip_timestamp
    ret_val['sip_format']='json'
    ##应用级别参数
    ret_val['beginnum']=@beginnum
    ret_val['uids']=@uids
    ret_val['v']=6
    ##计算获得签名信息
    ret_val['sip_sign']=AliUtil::get_sip_sign ret_val
    return ret_val
  end

  #返回阿里旺旺用户洽谈JS脚本，在页面中嵌入此脚本，就能够自动调出旺旺的聊天窗口
  def msg
    params = get_msg_params
    return AliUtil::get_result params
  end
  def get_msg_params
    ret_val = Hash.new
    ##系统级别参数
    ret_val['sip_appkey']=AliUtil::get_app_id
    ret_val['sip_apiname']="alisoft.im.msg"
    ret_val['sip_timestamp']=@sip_timestamp
    ret_val['sip_format']='json'
    ##应用级别参数
    ret_val['uid']=@uid
    ret_val['site']=@site
    ret_val['v']=6
    ##计算获得签名信息
    ret_val['sip_sign']=AliUtil::get_sip_sign ret_val
    return ret_val
  end
  #通过此接口发送阿里旺旺系统消息，目前此接口只允许ISV为订购和使用其软件的用户发送系统消息
  def nofity_message
    params = get_nofity_message_params
    return AliUtil::get_result params
  end
  def get_nofity_message_params
    ret_val = Hash.new
    ##系统级别参数
    ret_val['sip_appkey']=AliUtil::get_app_id
    ret_val['sip_apiname']="alisoft.im.nofityMessage"
    ret_val['sip_timestamp']=@sip_timestamp
    ret_val['sip_format']='json'
    ##应用级别参数
    ret_val['user_id']=@user_id
    ret_val['app_Instance_Id']=@app_instance_id
    ret_val['message']=@message
    ##计算获得签名信息
    ret_val['sip_sign']=AliUtil::get_sip_sign ret_val
    return ret_val
  end
  #获取单个用户阿里旺旺在线的状态
  def get_user_status2
    params = get_user_status2_params
    return AliUtil::get_result params
  end
  def get_user_status2_params
    ret_val = Hash.new
    ##系统级别参数
    ret_val['sip_appkey']=AliUtil::get_app_id
    ret_val['sip_apiname']="alisoft.im.userstatus2"
    ret_val['sip_timestamp']=@sip_timestamp
    ret_val['sip_format']='json'
    ##应用级别参数
    ret_val['uid']=@uid
    ret_val['site']=@site
    ret_val['v']=6
    ##计算获得签名信息
    ret_val['sip_sign']=AliUtil::get_sip_sign ret_val
    return ret_val
  end
  #获取单个用户阿里旺旺在线的状态
  def get_online
    params = get_online_params
    return AliUtil::get_result params
  end
  def get_online_params
    ret_val = Hash.new
    ##系统级别参数
    ret_val['sip_appkey']=AliUtil::get_app_id
    ret_val['sip_apiname']="alisoft.im.online"
    ret_val['sip_timestamp']=@sip_timestamp
    ret_val['sip_format']='json'
    ##应用级别参数
    ret_val['uid']=@uid
    ret_val['site']=@site
    ret_val['s']=''
    ret_val['v']=6
    ##计算获得签名信息
    ret_val['sip_sign']=AliUtil::get_sip_sign ret_val
    return ret_val
  end
end
